package com.epsilon.pos.principal.ventas.model;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.epsilon.commons.context.model.ContextoDeAplicacion;
import com.epsilon.pos.principal.ventas.delegate.VentasUtil;

public class Venta {
	
	private Integer                                 idVenta;
	private Integer									estatusVenta;
	private ContextoDeAplicacion					contextoDeAplicacion;
	private Map< String, ArticuloUnitarioVenta >	mapaDeArticulosUnitariosComprados;
	private Date									fechaDeVenta;
	private String codigoDeTicket;
	private Float montoRecibido;
	private Float montoDeSalida;
	private String observaciones;
	
	private List< ArticuloUnitarioVenta > auxListaDeArticulosUnitariosComprados;
	
	public Integer getIdVenta() {
		return idVenta;
	}

	public void setIdVenta( Integer idVenta ) {
		this.idVenta = idVenta;
	}

	public Integer getEstatusVenta() {
		return estatusVenta;
	}

	public void setEstatusVenta( Integer estatusVenta ) {
		this.estatusVenta = estatusVenta;
	}

	public ContextoDeAplicacion getContextoDeAplicacion() {
		return contextoDeAplicacion;
	}

	public void setContextoDeAplicacion( ContextoDeAplicacion contextoDeAplicacion ) {
		this.contextoDeAplicacion = contextoDeAplicacion;
	}

	public Map< String, ArticuloUnitarioVenta > getMapaDeArticulosUnitariosComprados() {
		return mapaDeArticulosUnitariosComprados;
	}

	public void setMapaDeArticulosUnitariosComprados( Map< String, ArticuloUnitarioVenta > mapaDeArticulosUnitariosComprados ) {
		this.mapaDeArticulosUnitariosComprados = mapaDeArticulosUnitariosComprados;
	}

	public Date getFechaDeVenta() {
		return fechaDeVenta;
	}

	public void setFechaDeVenta( Date fechaDeVenta ) {
		this.fechaDeVenta = fechaDeVenta;
	}

	public String getCodigoDeTicket() {
		return codigoDeTicket;
	}

	public void setCodigoDeTicket( String codigoDeTicket ) {
		this.codigoDeTicket = codigoDeTicket;
	}

	public Float getMontoRecibido() {
		return montoRecibido;
	}

	public void setMontoRecibido( Float montoRecibido ) {
		this.montoRecibido = montoRecibido;
	}
	
	public Float getTotalDeVenta() {
		return ( mapaDeArticulosUnitariosComprados != null ? VentasUtil.getTotal( mapaDeArticulosUnitariosComprados ) : null);
	}

	public Float getMontoDeSalida() {
		return montoDeSalida;
	}

	public void setMontoDeSalida( Float montoDeSalida ) {
		this.montoDeSalida = montoDeSalida;
	}

	public List< ArticuloUnitarioVenta > getAuxListaDeArticulosUnitariosComprados() {
		return auxListaDeArticulosUnitariosComprados;
	}

	public void setAuxListaDeArticulosUnitariosComprados( List< ArticuloUnitarioVenta > auxListaDeArticulosUnitariosComprados ) {
		this.auxListaDeArticulosUnitariosComprados = auxListaDeArticulosUnitariosComprados;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones( String observaciones ) {
		this.observaciones = observaciones;
	}
}